package main;

import model.Graph;
import model.Population;
import solvers.BruteForceSolver;
import solvers.CockroachSolver;
import solvers.Solver;
import examples.GraphBuilder4v1;

public class Main {

    public static void main(String[] args) {

        Graph graph = new GraphBuilder4v1().build();
        Population population = new Population(graph, 5);

        System.out.println("\nGraph\n");
        System.out.println(graph);
        System.out.println("\nPopulation\n");
        System.out.println(population);
        
        System.out.println("\nBruteForceSolver\n");
        Solver bruteForceSolver = new BruteForceSolver(graph);
        System.out.println(bruteForceSolver.solve().showSolution());

        System.out.println("\nCockroachSolver\n");
        Solver cockroachSolver = new CockroachSolver(graph, population, 2, 0);
        System.out.print((cockroachSolver.solve().showSolution()));



        // g = new GraphBuilder4v2().build();
        // System.out.println(g);
        // s = new BruteForceSolver(g);
        // Itinerary itin = s.solve();
        // System.out.println(itin);
        // System.out.println(itin.showSolution());

        // g = new GraphBuilder(5).fill(9).build();
        // System.out.println(g);
        // s = new BruteForceSolver(g);
        // System.out.println(s.solve().showSolution());

        /*
         * int size = 4;
         * 
         * Graph g = new GraphBuilder(size).fill(9).build();
         * 
         * Itinerary itin1 = new ItineraryBuilder(size).fill().build(); Itinerary itin2 = new
         * ItineraryBuilder(size).fill().build();
         * 
         * System.out.println(itin1.similarity(itin2));
         */

    }

}
